<!DOCTYPE html>
<html lang="en">
<head>

    <meta charset="UTF-8">
    <title>新增房产信息</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <!-- 引入样式 -->
    <link rel="stylesheet" href="../../plugins/element-ui/index.css" />
    <link rel="stylesheet" href="../../styles/page.css" />

</head>
<body>

<div id="app">

  <div class="addBrand-container" id="food-add-app">

    <div class="container">

      <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">

        <el-form-item label="所属小区" prop="communityName">
          <el-select v-model="ruleForm.communityName" placeholder="请选择所属小区">
            <el-option label="休伯利安" value="休伯利安"></el-option>
            <el-option label="璃月" value="璃月"></el-option>
          </el-select>
        </el-form-item>

        <el-form-item label="房产编码" prop="code">
          <el-input v-model="ruleForm.code"></el-input>
        </el-form-item>

        <el-form-item label="户主名称" prop="ownerName">
          <el-input v-model="ruleForm.ownerName"></el-input>
        </el-form-item>

        <el-form-item label="联系方式"
                      prop="telephone">
          <el-input v-model="ruleForm.telephone"></el-input>
        </el-form-item>

        <el-form-item label="栋数"
                      prop="buildingName">
          <el-input v-model="ruleForm.buildingName"></el-input>
        </el-form-item>

        <el-form-item label="单元" prop="unit">
          <el-input v-model.number="ruleForm.unit"></el-input>
        </el-form-item>

        <el-form-item label="楼层" prop="floor">
          <el-input v-model.number="ruleForm.floor"></el-input>
        </el-form-item>

        <el-form-item label="房间号" prop="roomNum">
          <el-input v-model.number="ruleForm.roomNum"></el-input>
        </el-form-item>

        <el-form-item label="入住时间" required v-if="id === ''">
          <el-col :span="11">
            <el-form-item prop="liveTime">
              <el-date-picker type="date" placeholder="选择入住时间" v-model="ruleForm.liveTime" style="width: 100%;"></el-date-picker>
            </el-form-item>
          </el-col>
        </el-form-item>

        <el-form-item>
          <el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button>
          <el-button @click="resetForm('ruleForm')">重置</el-button>
        </el-form-item>

      </el-form>
    </div>
  </div>

</div>

<!-- 开发环境版本，包含了有帮助的命令行警告 -->
<script src="../../plugins/vue/vue.js"></script>
<!-- 引入组件库 -->
<script src="../../plugins/element-ui/index.js"></script>
<!-- 引入axios -->
<script src="../../plugins/axios/axios.min.js"></script>
<!-- 引入前端响应拦截器 -->
<script src="../../js/request.js"></script>

<script src="../../js/index.js"></script>

<script>
  new Vue({
    el: '#app',
    data() {
      return {
        ruleForm: {
          //房产编码
          code: '',
          //小区名称
          communityName: '',
          //户主名称
          ownerName: '',
          //联系方式
          telephone: '',
          //栋数
          buildingName: '',
          //单元
          unit: '',
          //楼层
          floor: '',
          //房间号
          roomNum: '',
          //入住时间
          liveTime: '',
        },
        rules: {
          code: [
            { required: true, message: '请输入房产编码', trigger: 'blur' },
          ],
          communityName: [
            { required: true, message: '请选择小区名称', trigger: 'change' }
          ],
          ownerName: [
            { required: true, message: '请输入户主名称', trigger: 'blur' },
          ],
          telephone: [
            { required: true, message: '请输入联系方式', trigger: 'blur' },
          ],
          buildingName: [
            { required: true, message: '请输入栋数', trigger: 'blur' },
          ],
          unit: [
            { required: true, message: '请输入单元号', trigger: 'blur' },
            { type: 'number', message: '单元号必须为数字值'}
          ],
          floor: [
            { required: true, message: '请输入楼层', trigger: 'blur' },
            { type: 'number', message: '楼层必须为数字值'}
          ],
          roomNum: [
            { required: true, message: '请输入房间号' },
            { type: 'number', message: '房间号必须为数字值'}
          ],
          liveTime: [
            { type: 'date', required: true, message: '请选择入住时间', trigger: 'change' }
          ]
        }
      };
    },

    created() {
      let id = requestUrlParam('id');
      this.id = id;
      axios({
        url: "http://localhost:8080/house/one",
        method: 'get',
        params: { id }
      }).then(resp => {
        if (resp.data.result === true) {

          let dateStr = resp.data.data.liveTime;
          dateStr = dateStr.replace('年',"-").replace('月','-').replace('日','-');
          resp.data.data.liveTime = new Date(dateStr);

          this.ruleForm = resp.data.data
        }
      })
    },

    methods: {
      //新增房产信息
      submitForm(formName) {
        this.$refs[formName].validate((valid) => {
          if (valid) {
            axios({
              url: "http://localhost:8080/house/add",
              method: 'put',
              data: this.ruleForm
            }).then(resp => {
              if (resp.data.result === true) {
                this.$message({
                  type: 'success',
                  message: '操作成功!'
                });
                this.resetForm('ruleForm')
              } else {
                this.$message({
                  type: 'error',
                  message: '操作失败,请稍后再试!'
                });
              }
            })
            console.log(this.ruleForm)
          } else {
            return false;
          }
        });
      },

      resetForm(formName) {
        this.$refs[formName].resetFields();
      }
    }
  });
</script>

</body>
</html>